[INFO] cloning repository https://github.com/Tsallanmaa/chit8
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tsallanmaa/chit8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTsallanmaa%2Fchit8", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTsallanmaa%2Fchit8'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5d7a5fc660ae95b8a883a11f7d6c0eb432aaa38b
[INFO] checking Tsallanmaa/chit8 against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTsallanmaa%2Fchit8" "/workspace/builds/worker-0/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Tsallanmaa/chit8 on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Tsallanmaa/chit8
[INFO] finished tweaking git repo https://github.com/Tsallanmaa/chit8
[INFO] tweaked toml for git repo https://github.com/Tsallanmaa/chit8 written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] crate git repo https://github.com/Tsallanmaa/chit8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] error: the lock file /workspace/builds/worker-0/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5e3adb1e7639c5016af3c74245ce8990d1cd2db6dcf6bcb584cebd532ffa0e89
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5e3adb1e7639c5016af3c74245ce8990d1cd2db6dcf6bcb584cebd532ffa0e89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e3adb1e7639c5016af3c74245ce8990d1cd2db6dcf6bcb584cebd532ffa0e89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e3adb1e7639c5016af3c74245ce8990d1cd2db6dcf6bcb584cebd532ffa0e89", kill_on_drop: false }`
[INFO] [stdout] 5e3adb1e7639c5016af3c74245ce8990d1cd2db6dcf6bcb584cebd532ffa0e89
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6b4e52cebdea78393850852752d9087fc19b2889f0362df0a495275e9a4ce958
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "6b4e52cebdea78393850852752d9087fc19b2889f0362df0a495275e9a4ce958", kill_on_drop: false }`
[INFO] [stderr]     Checking chit8 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         try!(write!(f, "CHIP8 CPU @ 0x{:0>4X}\r\n", self.pc));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |         try!(write!(f, "V0: {:X}, V1: {:X}, V2: {:X}, V3: {:X}\r\n", self.v[0], self.v[1], self.v[2], self.v[3]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         try!(write!(f, "V4: {:X}, V5: {:X}, V6: {:X}, V7: {:X}\r\n", self.v[4], self.v[5], self.v[6], self.v[7]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |         try!(write!(f, "V8: {:X}, V9: {:X}, VA: {:X}, VB: {:X}\r\n", self.v[8], self.v[9], self.v[0xA], self.v[0xB]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |         try!(write!(f, "VC: {:X}, VD: {:X}, VE: {:X}, VF: {:X}\r\n", self.v[0xC], self.v[0xD], self.v[0xE], self.v[0xF]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 |         try!(write!(f, "\r\nSTACK:\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:428:10
[INFO] [stdout]     |
[INFO] [stdout] 428 |             try!(write!(f, ">> {}: 0x{:0>4X}\r\n", i, item));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout] 431 |         try!(write!(f, "\r\nI: {:X}", self.i));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         try!(write!(f, "\r\nST: {:X}", self.st));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/disassembler.rs:63:19
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub ram: &'a mut Memory
[INFO] [stdout]    |                      ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:18:16
[INFO] [stdout]     |
[INFO] [stdout] 18  |             op @ 0x0000 ... 0x0FFF => { $this.sys(op & 0xFFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:19:16
[INFO] [stdout]     |
[INFO] [stdout] 19  |             op @ 0x1000 ... 0x1FFF => { $this.jp(op & 0x0FFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:20:16
[INFO] [stdout]     |
[INFO] [stdout] 20  |             op @ 0x2000 ... 0x2FFF => { $this.call(op & 0x0FFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:21:16
[INFO] [stdout]     |
[INFO] [stdout] 21  |             op @ 0x3000 ... 0x3FFF => { $this.se(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:22:16
[INFO] [stdout]     |
[INFO] [stdout] 22  |             op @ 0x4000 ... 0x4FFF => { $this.sne(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:23:16
[INFO] [stdout]     |
[INFO] [stdout] 23  |             op @ 0x5000 ... 0x5FFF => { $this.se_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:24:16
[INFO] [stdout]     |
[INFO] [stdout] 24  |             op @ 0x6000 ... 0x6FFF => { $this.ldx(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:25:16
[INFO] [stdout]     |
[INFO] [stdout] 25  |             op @ 0x7000 ... 0x7FFF => { $this.add_byte(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:26:16
[INFO] [stdout]     |
[INFO] [stdout] 26  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x0 => { $this.ld(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout] 27  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x1 => { $this.or(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         try!(write!(f, "CHIP8 CPU @ 0x{:0>4X}\r\n", self.pc));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |         try!(write!(f, "V0: {:X}, V1: {:X}, V2: {:X}, V3: {:X}\r\n", self.v[0], self.v[1], self.v[2], self.v[3]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         try!(write!(f, "V4: {:X}, V5: {:X}, V6: {:X}, V7: {:X}\r\n", self.v[4], self.v[5], self.v[6], self.v[7]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |         try!(write!(f, "V8: {:X}, V9: {:X}, VA: {:X}, VB: {:X}\r\n", self.v[8], self.v[9], self.v[0xA], self.v[0xB]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |         try!(write!(f, "VC: {:X}, VD: {:X}, VE: {:X}, VF: {:X}\r\n", self.v[0xC], self.v[0xD], self.v[0xE], self.v[0xF]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 |         try!(write!(f, "\r\nSTACK:\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:428:10
[INFO] [stdout]     |
[INFO] [stdout] 428 |             try!(write!(f, ">> {}: 0x{:0>4X}\r\n", i, item));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout] 431 |         try!(write!(f, "\r\nI: {:X}", self.i));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]    --> src/cpu.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |         try!(write!(f, "\r\nST: {:X}", self.st));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/disassembler.rs:63:19
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub ram: &'a mut Memory
[INFO] [stdout]    |                      ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:28:16
[INFO] [stdout]     |
[INFO] [stdout] 28  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x2 => { $this.and(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:18:16
[INFO] [stdout]     |
[INFO] [stdout] 18  |             op @ 0x0000 ... 0x0FFF => { $this.sys(op & 0xFFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:29:16
[INFO] [stdout]     |
[INFO] [stdout] 29  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x3 => { $this.xor(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x4 => { $this.add_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:19:16
[INFO] [stdout]     |
[INFO] [stdout] 19  |             op @ 0x1000 ... 0x1FFF => { $this.jp(op & 0x0FFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:31:16
[INFO] [stdout]     |
[INFO] [stdout] 31  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x5 => { $this.sub(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:32:16
[INFO] [stdout]     |
[INFO] [stdout] 32  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x6 => { $this.shr(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:20:16
[INFO] [stdout]     |
[INFO] [stdout] 20  |             op @ 0x2000 ... 0x2FFF => { $this.call(op & 0x0FFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:33:16
[INFO] [stdout]     |
[INFO] [stdout] 33  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x7 => { $this.subn(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:21:16
[INFO] [stdout]     |
[INFO] [stdout] 21  |             op @ 0x3000 ... 0x3FFF => { $this.se(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:22:16
[INFO] [stdout]     |
[INFO] [stdout] 22  |             op @ 0x4000 ... 0x4FFF => { $this.sne(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:23:16
[INFO] [stdout]     |
[INFO] [stdout] 23  |             op @ 0x5000 ... 0x5FFF => { $this.se_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:24:16
[INFO] [stdout]     |
[INFO] [stdout] 24  |             op @ 0x6000 ... 0x6FFF => { $this.ldx(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:34:16
[INFO] [stdout]     |
[INFO] [stdout] 34  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0xE => { $this.shl(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:35:16
[INFO] [stdout]     |
[INFO] [stdout] 35  |             op @ 0x9000 ... 0x9FFF if (op & 0x000F) == 0x0 => { $this.sne_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:36:16
[INFO] [stdout]     |
[INFO] [stdout] 36  |             op @ 0xA000 ... 0xAFFF => { $this.ldi(op & 0x0FFF)},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:25:16
[INFO] [stdout]     |
[INFO] [stdout] 25  |             op @ 0x7000 ... 0x7FFF => { $this.add_byte(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:26:16
[INFO] [stdout]     |
[INFO] [stdout] 26  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x0 => { $this.ld(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout] 27  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x1 => { $this.or(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:28:16
[INFO] [stdout]     |
[INFO] [stdout] 28  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x2 => { $this.and(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:29:16
[INFO] [stdout]     |
[INFO] [stdout] 29  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x3 => { $this.xor(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:37:16
[INFO] [stdout]     |
[INFO] [stdout] 37  |             op @ 0xB000 ... 0xBFFF => { $this.jp_v0(op & 0x0FFF)},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:38:16
[INFO] [stdout]     |
[INFO] [stdout] 38  |             op @ 0xC000 ... 0xCFFF => { $this.rnd(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:39:16
[INFO] [stdout]     |
[INFO] [stdout] 39  |             op @ 0xD000 ... 0xDFFF => { $this.drw(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8, (op & 0x000F) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:40:16
[INFO] [stdout]     |
[INFO] [stdout] 40  |             op @ 0xE000 ... 0xEFFF if (op & 0x00FF) == 0x9E => { $this.skp(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:41:16
[INFO] [stdout]     |
[INFO] [stdout] 41  |             op @ 0xE000 ... 0xEFFF if (op & 0x00FF) == 0xA1 => { $this.sknp(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x4 => { $this.add_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:42:16
[INFO] [stdout]     |
[INFO] [stdout] 42  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x07 => { $this.ld_dt_into_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:43:16
[INFO] [stdout]     |
[INFO] [stdout] 43  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x0A => { $this.ld_k_into_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:44:16
[INFO] [stdout]     |
[INFO] [stdout] 44  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x15 => { $this.ld_vx_into_dt(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:45:16
[INFO] [stdout]     |
[INFO] [stdout] 45  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x18 => { $this.ld_vx_into_st(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:46:16
[INFO] [stdout]     |
[INFO] [stdout] 46  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x1E => { $this.add_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:47:16
[INFO] [stdout]     |
[INFO] [stdout] 47  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x29 => { $this.ld_vx_digit_into_f(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:31:16
[INFO] [stdout]     |
[INFO] [stdout] 31  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x5 => { $this.sub(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:32:16
[INFO] [stdout]     |
[INFO] [stdout] 32  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x6 => { $this.shr(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:33:16
[INFO] [stdout]     |
[INFO] [stdout] 33  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x7 => { $this.subn(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:34:16
[INFO] [stdout]     |
[INFO] [stdout] 34  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0xE => { $this.shl(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:35:16
[INFO] [stdout]     |
[INFO] [stdout] 35  |             op @ 0x9000 ... 0x9FFF if (op & 0x000F) == 0x0 => { $this.sne_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:36:16
[INFO] [stdout]     |
[INFO] [stdout] 36  |             op @ 0xA000 ... 0xAFFF => { $this.ldi(op & 0x0FFF)},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:37:16
[INFO] [stdout]     |
[INFO] [stdout] 37  |             op @ 0xB000 ... 0xBFFF => { $this.jp_v0(op & 0x0FFF)},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:38:16
[INFO] [stdout]     |
[INFO] [stdout] 38  |             op @ 0xC000 ... 0xCFFF => { $this.rnd(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:39:16
[INFO] [stdout]     |
[INFO] [stdout] 39  |             op @ 0xD000 ... 0xDFFF => { $this.drw(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8, (op & 0x000F) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:40:16
[INFO] [stdout]     |
[INFO] [stdout] 40  |             op @ 0xE000 ... 0xEFFF if (op & 0x00FF) == 0x9E => { $this.skp(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:41:16
[INFO] [stdout]     |
[INFO] [stdout] 41  |             op @ 0xE000 ... 0xEFFF if (op & 0x00FF) == 0xA1 => { $this.sknp(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:42:16
[INFO] [stdout]     |
[INFO] [stdout] 42  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x07 => { $this.ld_dt_into_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:43:16
[INFO] [stdout]     |
[INFO] [stdout] 43  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x0A => { $this.ld_k_into_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:44:16
[INFO] [stdout]     |
[INFO] [stdout] 44  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x15 => { $this.ld_vx_into_dt(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:45:16
[INFO] [stdout]     |
[INFO] [stdout] 45  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x18 => { $this.ld_vx_into_st(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:46:16
[INFO] [stdout]     |
[INFO] [stdout] 46  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x1E => { $this.add_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:47:16
[INFO] [stdout]     |
[INFO] [stdout] 47  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x29 => { $this.ld_vx_digit_into_f(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:48:16
[INFO] [stdout]     |
[INFO] [stdout] 48  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x33 => { $this.ld_vx_into_bcd(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:48:16
[INFO] [stdout]     |
[INFO] [stdout] 48  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x33 => { $this.ld_vx_into_bcd(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:49:16
[INFO] [stdout]     |
[INFO] [stdout] 49  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x55 => { $this.ld_v0_to_vx_into_i(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:49:16
[INFO] [stdout]     |
[INFO] [stdout] 49  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x55 => { $this.ld_v0_to_vx_into_i(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:50:16
[INFO] [stdout]     |
[INFO] [stdout] 50  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x65 => { $this.ld_i_into_v0_to_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rom.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(readable: &mut Read, filename: String) -> Result<Rom, io::Error>
[INFO] [stdout]    |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:50:16
[INFO] [stdout]     |
[INFO] [stdout] 50  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x65 => { $this.ld_i_into_v0_to_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 317 |             println!("{:#X}: (0x{:0>4X}) {}", op.0, op.1, decode_opcode!(op.1, self));
[INFO] [stdout]     |                                                           -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ram: &'a mut Memory,
[INFO] [stdout]    |                  ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rom.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(readable: &mut Read, filename: String) -> Result<Rom, io::Error>
[INFO] [stdout]    |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ram: &'a mut Memory,
[INFO] [stdout]    |                  ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:18:16
[INFO] [stdout]     |
[INFO] [stdout] 18  |             op @ 0x0000 ... 0x0FFF => { $this.sys(op & 0xFFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:18:16
[INFO] [stdout]     |
[INFO] [stdout] 18  |             op @ 0x0000 ... 0x0FFF => { $this.sys(op & 0xFFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:19:16
[INFO] [stdout]     |
[INFO] [stdout] 19  |             op @ 0x1000 ... 0x1FFF => { $this.jp(op & 0x0FFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:19:16
[INFO] [stdout]     |
[INFO] [stdout] 19  |             op @ 0x1000 ... 0x1FFF => { $this.jp(op & 0x0FFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:20:16
[INFO] [stdout]     |
[INFO] [stdout] 20  |             op @ 0x2000 ... 0x2FFF => { $this.call(op & 0x0FFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:20:16
[INFO] [stdout]     |
[INFO] [stdout] 20  |             op @ 0x2000 ... 0x2FFF => { $this.call(op & 0x0FFF) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:21:16
[INFO] [stdout]     |
[INFO] [stdout] 21  |             op @ 0x3000 ... 0x3FFF => { $this.se(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:22:16
[INFO] [stdout]     |
[INFO] [stdout] 22  |             op @ 0x4000 ... 0x4FFF => { $this.sne(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:23:16
[INFO] [stdout]     |
[INFO] [stdout] 23  |             op @ 0x5000 ... 0x5FFF => { $this.se_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:24:16
[INFO] [stdout]     |
[INFO] [stdout] 24  |             op @ 0x6000 ... 0x6FFF => { $this.ldx(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:21:16
[INFO] [stdout]     |
[INFO] [stdout] 21  |             op @ 0x3000 ... 0x3FFF => { $this.se(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:25:16
[INFO] [stdout]     |
[INFO] [stdout] 25  |             op @ 0x7000 ... 0x7FFF => { $this.add_byte(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:22:16
[INFO] [stdout]     |
[INFO] [stdout] 22  |             op @ 0x4000 ... 0x4FFF => { $this.sne(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:26:16
[INFO] [stdout]     |
[INFO] [stdout] 26  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x0 => { $this.ld(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:23:16
[INFO] [stdout]     |
[INFO] [stdout] 23  |             op @ 0x5000 ... 0x5FFF => { $this.se_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout] 27  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x1 => { $this.or(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:28:16
[INFO] [stdout]     |
[INFO] [stdout] 28  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x2 => { $this.and(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:29:16
[INFO] [stdout]     |
[INFO] [stdout] 29  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x3 => { $this.xor(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:24:16
[INFO] [stdout]     |
[INFO] [stdout] 24  |             op @ 0x6000 ... 0x6FFF => { $this.ldx(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x4 => { $this.add_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:25:16
[INFO] [stdout]     |
[INFO] [stdout] 25  |             op @ 0x7000 ... 0x7FFF => { $this.add_byte(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:31:16
[INFO] [stdout]     |
[INFO] [stdout] 31  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x5 => { $this.sub(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:26:16
[INFO] [stdout]     |
[INFO] [stdout] 26  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x0 => { $this.ld(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:32:16
[INFO] [stdout]     |
[INFO] [stdout] 32  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x6 => { $this.shr(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:33:16
[INFO] [stdout]     |
[INFO] [stdout] 33  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x7 => { $this.subn(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:34:16
[INFO] [stdout]     |
[INFO] [stdout] 34  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0xE => { $this.shl(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:35:16
[INFO] [stdout]     |
[INFO] [stdout] 35  |             op @ 0x9000 ... 0x9FFF if (op & 0x000F) == 0x0 => { $this.sne_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:36:16
[INFO] [stdout]     |
[INFO] [stdout] 36  |             op @ 0xA000 ... 0xAFFF => { $this.ldi(op & 0x0FFF)},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:27:16
[INFO] [stdout]     |
[INFO] [stdout] 27  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x1 => { $this.or(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:28:16
[INFO] [stdout]     |
[INFO] [stdout] 28  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x2 => { $this.and(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:29:16
[INFO] [stdout]     |
[INFO] [stdout] 29  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x3 => { $this.xor(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:30:16
[INFO] [stdout]     |
[INFO] [stdout] 30  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x4 => { $this.add_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:31:16
[INFO] [stdout]     |
[INFO] [stdout] 31  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x5 => { $this.sub(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:32:16
[INFO] [stdout]     |
[INFO] [stdout] 32  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x6 => { $this.shr(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:33:16
[INFO] [stdout]     |
[INFO] [stdout] 33  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0x7 => { $this.subn(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:37:16
[INFO] [stdout]     |
[INFO] [stdout] 37  |             op @ 0xB000 ... 0xBFFF => { $this.jp_v0(op & 0x0FFF)},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:38:16
[INFO] [stdout]     |
[INFO] [stdout] 38  |             op @ 0xC000 ... 0xCFFF => { $this.rnd(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:39:16
[INFO] [stdout]     |
[INFO] [stdout] 39  |             op @ 0xD000 ... 0xDFFF => { $this.drw(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8, (op & 0x000F) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:40:16
[INFO] [stdout]     |
[INFO] [stdout] 40  |             op @ 0xE000 ... 0xEFFF if (op & 0x00FF) == 0x9E => { $this.skp(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:41:16
[INFO] [stdout]     |
[INFO] [stdout] 41  |             op @ 0xE000 ... 0xEFFF if (op & 0x00FF) == 0xA1 => { $this.sknp(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:42:16
[INFO] [stdout]     |
[INFO] [stdout] 42  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x07 => { $this.ld_dt_into_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:43:16
[INFO] [stdout]     |
[INFO] [stdout] 43  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x0A => { $this.ld_k_into_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:34:16
[INFO] [stdout]     |
[INFO] [stdout] 34  |             op @ 0x8000 ... 0x8FFF if (op & 0x000F) == 0xE => { $this.shl(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:35:16
[INFO] [stdout]     |
[INFO] [stdout] 35  |             op @ 0x9000 ... 0x9FFF if (op & 0x000F) == 0x0 => { $this.sne_reg(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:36:16
[INFO] [stdout]     |
[INFO] [stdout] 36  |             op @ 0xA000 ... 0xAFFF => { $this.ldi(op & 0x0FFF)},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:37:16
[INFO] [stdout]     |
[INFO] [stdout] 37  |             op @ 0xB000 ... 0xBFFF => { $this.jp_v0(op & 0x0FFF)},
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:38:16
[INFO] [stdout]     |
[INFO] [stdout] 38  |             op @ 0xC000 ... 0xCFFF => { $this.rnd(((op & 0x0F00) >> 8) as u8, (op & 0x00FF) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:39:16
[INFO] [stdout]     |
[INFO] [stdout] 39  |             op @ 0xD000 ... 0xDFFF => { $this.drw(((op & 0x0F00) >> 8) as u8, ((op & 0x00F0) >> 4) as u8, (op & 0x000F) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:40:16
[INFO] [stdout]     |
[INFO] [stdout] 40  |             op @ 0xE000 ... 0xEFFF if (op & 0x00FF) == 0x9E => { $this.skp(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:41:16
[INFO] [stdout]     |
[INFO] [stdout] 41  |             op @ 0xE000 ... 0xEFFF if (op & 0x00FF) == 0xA1 => { $this.sknp(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:42:16
[INFO] [stdout]     |
[INFO] [stdout] 42  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x07 => { $this.ld_dt_into_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:43:16
[INFO] [stdout]     |
[INFO] [stdout] 43  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x0A => { $this.ld_k_into_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:44:16
[INFO] [stdout]     |
[INFO] [stdout] 44  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x15 => { $this.ld_vx_into_dt(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:45:16
[INFO] [stdout]     |
[INFO] [stdout] 45  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x18 => { $this.ld_vx_into_st(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:46:16
[INFO] [stdout]     |
[INFO] [stdout] 46  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x1E => { $this.add_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:47:16
[INFO] [stdout]     |
[INFO] [stdout] 47  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x29 => { $this.ld_vx_digit_into_f(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:48:16
[INFO] [stdout]     |
[INFO] [stdout] 48  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x33 => { $this.ld_vx_into_bcd(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:49:16
[INFO] [stdout]     |
[INFO] [stdout] 49  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x55 => { $this.ld_v0_to_vx_into_i(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:50:16
[INFO] [stdout]     |
[INFO] [stdout] 50  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x65 => { $this.ld_i_into_v0_to_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:407:30
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn new<'b>(ram: &'b mut Memory, input: &'b I) -> Cpu<'b, I>
[INFO] [stdout]     |                                 ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:44:16
[INFO] [stdout]     |
[INFO] [stdout] 44  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x15 => { $this.ld_vx_into_dt(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:45:16
[INFO] [stdout]     |
[INFO] [stdout] 45  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x18 => { $this.ld_vx_into_st(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:46:16
[INFO] [stdout]     |
[INFO] [stdout] 46  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x1E => { $this.add_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:47:16
[INFO] [stdout]     |
[INFO] [stdout] 47  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x29 => { $this.ld_vx_digit_into_f(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:48:16
[INFO] [stdout]     |
[INFO] [stdout] 48  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x33 => { $this.ld_vx_into_bcd(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:49:16
[INFO] [stdout]     |
[INFO] [stdout] 49  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x55 => { $this.ld_v0_to_vx_into_i(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/disassembler.rs:50:16
[INFO] [stdout]     |
[INFO] [stdout] 50  |             op @ 0xF000 ... 0xFFFF if (op & 0x00FF) == 0x65 => { $this.ld_i_into_v0_to_vx(((op & 0x0F00) >> 8) as u8) },
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/cpu.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 403 |         decode_opcode!(op, self);
[INFO] [stdout]     |         ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:407:30
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn new<'b>(ram: &'b mut Memory, input: &'b I) -> Cpu<'b, I>
[INFO] [stdout]     |                                 ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:30:6
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut ram = &mut Ram::new_from_rom(&rom);
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 80 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:30:6
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut ram = &mut Ram::new_from_rom(&rom);
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:460:6
[INFO] [stdout]     |
[INFO] [stdout] 460 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:488:6
[INFO] [stdout]     |
[INFO] [stdout] 488 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:499:6
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:515:6
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:544:6
[INFO] [stdout]     |
[INFO] [stdout] 544 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:557:6
[INFO] [stdout]     |
[INFO] [stdout] 557 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:574:6
[INFO] [stdout]     |
[INFO] [stdout] 574 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:591:6
[INFO] [stdout]     |
[INFO] [stdout] 591 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:614:6
[INFO] [stdout]     |
[INFO] [stdout] 614 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:633:6
[INFO] [stdout]     |
[INFO] [stdout] 633 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:646:6
[INFO] [stdout]     |
[INFO] [stdout] 646 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:666:6
[INFO] [stdout]     |
[INFO] [stdout] 666 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:681:6
[INFO] [stdout]     |
[INFO] [stdout] 681 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:696:6
[INFO] [stdout]     |
[INFO] [stdout] 696 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:711:6
[INFO] [stdout]     |
[INFO] [stdout] 711 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:728:6
[INFO] [stdout]     |
[INFO] [stdout] 728 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:745:6
[INFO] [stdout]     |
[INFO] [stdout] 745 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:762:6
[INFO] [stdout]     |
[INFO] [stdout] 762 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:779:6
[INFO] [stdout]     |
[INFO] [stdout] 779 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:806:6
[INFO] [stdout]     |
[INFO] [stdout] 806 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:823:6
[INFO] [stdout]     |
[INFO] [stdout] 823 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:840:6
[INFO] [stdout]     |
[INFO] [stdout] 840 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:867:6
[INFO] [stdout]     |
[INFO] [stdout] 867 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:890:6
[INFO] [stdout]     |
[INFO] [stdout] 890 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:905:6
[INFO] [stdout]     |
[INFO] [stdout] 905 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:918:6
[INFO] [stdout]     |
[INFO] [stdout] 918 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:940:6
[INFO] [stdout]     |
[INFO] [stdout] 940 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:966:6
[INFO] [stdout]     |
[INFO] [stdout] 966 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:992:6
[INFO] [stdout]     |
[INFO] [stdout] 992 |     let mut ram = &mut Ram::new();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1011:6
[INFO] [stdout]      |
[INFO] [stdout] 1011 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1026:6
[INFO] [stdout]      |
[INFO] [stdout] 1026 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1045:6
[INFO] [stdout]      |
[INFO] [stdout] 1045 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1064:6
[INFO] [stdout]      |
[INFO] [stdout] 1064 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1084:6
[INFO] [stdout]      |
[INFO] [stdout] 1084 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1105:6
[INFO] [stdout]      |
[INFO] [stdout] 1105 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1124:6
[INFO] [stdout]      |
[INFO] [stdout] 1124 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1148:6
[INFO] [stdout]      |
[INFO] [stdout] 1148 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1168:6
[INFO] [stdout]      |
[INFO] [stdout] 1168 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1188:6
[INFO] [stdout]      |
[INFO] [stdout] 1188 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/cpu.rs:1209:6
[INFO] [stdout]      |
[INFO] [stdout] 1209 |     let mut ram = &mut Ram::new();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 120 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.76s
[INFO] running `Command { std: "docker" "inspect" "6b4e52cebdea78393850852752d9087fc19b2889f0362df0a495275e9a4ce958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b4e52cebdea78393850852752d9087fc19b2889f0362df0a495275e9a4ce958", kill_on_drop: false }`
[INFO] [stdout] 6b4e52cebdea78393850852752d9087fc19b2889f0362df0a495275e9a4ce958
